home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The Game Master (3rd Edition)
/
The Game Master 3rd edition.iso
/
files
/
game_ega
/
mahjn
/
mahjongg.doc
< prev
next >
Wrap
Text File
|
1993-07-07
|
56KB
|
1,263 lines
┌────────┐ MAH JONGG ┌────────┐
│ ├┤ 3 │ Release 4.1 July 7, 1993 │ 0 0 8 │
│ ├┤ │ │ 0 0 │
│ ├┤ ├┤ │ Nels Anderson │ 0 0 │
│ ├┤ ├┤ │ 92 Bishop Drive │ 0 0 │
└────────┘ Framingham, MA 01701-6515 └────────┘
U.S.A.
Mah Jongg solitaire is based on an ancient Chinese game whose origins
are supposed to date back some 3000 years. This version has
similarities to solitaire played with cards and also with dominos since
it is played with tiles. When I first discovered the game my initial
impression was that the game would quickly become dull but having
played it for a while and having given it to friends we've all found
that it is quite addictive despite (or maybe because of) its apparent
simplicity.
The program requires an MS-DOS compatible PC that can run 640x350, 16
color graphics. Either EGA or VGA video cards are capable of handling
this video mode. If you're still running an older video card I'm
afraid the game won't work. (Apparently many people do not understand
the differences between EGA, CGA, VGA, MDA, etc.; basically, if you get
a screen full of letters blinking on and off when you try to run Mah
Jongg you don't have EGA and the game will not work on your system.)
When I originally wrote Mah Jongg I had never seen a game that used the
hi-res 16 color mode and I thought it would be nice if there was one.
This version also supports Hercules graphics mode. Since it's
monochrome it's not as pretty but the resolution is similar so it's not
bad. The type of video you have is automatically detected, so you
should not have to do anything to get the right mode.
I hadn't planned on doing any versions other than EGA, but Hercules
turned out to be so easy I figured, why not? Several people suggested
adding a monochrome EGA mode for laptop systems that have an EGA
compatible LCD or similar display. Since I'd already done all the work
of making monochrome look right for the Hercules version, this was easy
to add too. I don't have versions for other video adapters and I don't
have any plans for them since I don't consider any of the lower
resolutions adequate.
If your system won't automatically select the right video mode for some
reason, you can force a specific mode using DOS command line parameters
as follows:
mahjongg -h (forces Hercules graphics mode)
mahjongg -e (forces full color EGA graphics mode)
mahjongg -l (forces monochrome EGA graphics mode)
Under the Shareware system you may freely try out this program, but if
you continue to use it you are expected to register with the author and
pay the $15 (+ $2 S/H) registration fee. In return for your
registration you'll receive the latest version of the game with the
shareware notices removed, a setup program that allows you to
permanently set the game options, plus additional tile sets and board
layouts. There is also a "deluxe" version available which adds a
binder, printed manual and quick reference card. The "deluxe" version
is $22 (+ $4 shipping). Please note that all prices are U.S. dollars.
If you live in the U.K. you can register through Nildram Software.
Please print the file "UKORDER.TXT" for an order form all ready to go
or just send #12.95 to:
Nildram Software
82 Akeman Street
Tring
Herts HP23 6AF
When you register, please let me know what version you have and I'd
also be interested in knowing where you got it from. Please, make sure
to put your name and address on the letter! It's amazing how many
people don't do this. Or, you can use the instant registration form in
the file "ORDERFRM.TXT". Just copy the file to your printer using the
DOS copy command ("copy orderfrm.txt prn" will do it).
If you live outside the U.S., the best way to register appears to be by
using postal money orders. I've received these from quite a few
countries. In general, foreign checks are not accepted by U.S. banks
(Canadian checks are an exception, but please allow for the difference
in U.S. and Canadian dollars). EuroCheques, for example, are not
acceptable to the bank. You can also charge your registration to VISA
or MasterCard.
If you don't understand the term "Shareware" please read the file
"SHAREWRE.TXT".
If you have any suggestions or discover any problems with the program
you can reach me via the )(evious BBS (PCBoard) system (supports
300/1200/2400/9600/14400/16800, HST/v.32, 8N1) at 508-875-3618. Leave a
C)omment to the sysop to reach me. )(evious is the official support BBS
for all my software and the latest versions are always available for
downloading there. There is also a support conference for people to
exchange game tips or ask questions. J)oin conference #31 and check out
the latest tips. Also check B)ulletin #1 for the latest versions list.
You can registered Mah Jongg while on Xevious using your VISA or
MasterCard. Once logged in, use the command "CREDIT" and just answer
the prompts.
You can also reach )(evious through RelayNet. If there's a RelayNet
board in your area send a routed message to me at node XEVIOUS. The
Shareware conference would be the best choice, but if that's not
available try Games or even Common.
I'm also available through CompuServe. Send email to me at 71020,2613.
Or join me and many other Shareware authors in the Shareware forum (GO
SHAREWARE). Internet users can reach me this way by using the address
71020.2613@compuserve.com.
Of course you can also write me at the address at the beginning of this
file. If you're not a registered user please include a self-addressed,
stamped envelope.
Most of the instructions you'll need for playing the game are built
into it; just type H when prompted at the title screen. Or you can
read the instructions below. There is quite a bit of strategy involved
if you are to do well but I'll leave the strategies up to you to
discover. Besides, I'm no expert in playing the game either.
*****************************************************************************
* PLAYING THE GAME *
*****************************************************************************
OBJECT
The object of the game is to remove as many of the tiles from the
playing board as possible within the rules of the game. Tiles are
always removed in pairs and can only be removed from the left or the
right edges. Any tile that is not on a left or right edge is considered
blocked and cannot be removed. Note though that the tiles are arranged
in 5 levels and each level has a left and right edge so there are many
more unblocked tiles than it would first appear. Note that the tile on
the top of the pile blocks all four tiles below it, and tiles on row 5
block both rows 4 and 6.
SUITS OF TILES
There are many different suits of tiles and the suit of a tile
determines the rule used for matching tiles that can be removed
together.
MATCHING RULES
Most of the tile suits require an exact match. This means that you must
match a tile to another that is exactly the same. For example a Bamboo
1 matches another Bamboo 1 but does not match a Bamboo 3 or a Dot 1.
The other matching rule allows any tile in the same suit to match any
other tile in that suit. Thus, any of the four seasons (SUM, AUT, WIN,
SPR) match each other and any of the four flowers (MUM, PLUM, BAM, ORC)
match each other.
NUMBER OF TILES
There is only one each of SUM, AUT, WIN, SPR, MUM, PLUM, BAM, and ORC.
There are four of each of the other tiles for a total of 144 tiles on
the board. A counter keeps track of how many tiles are left in play.
If you want to see what tiles you have removed so far, hit F2 or right
click on the Help button (though some might consider this cheating!).
ALTERNATE TILE SETS
Mah Jongg can be played with tile sets other than the traditional
Chinese tiles that are the default. These alternate sets can be
selected using the command line option " -u" or from the setup menu.
All tile sets are stored in files with names ending in ".til"; you do
not need to include the ".til" when entering the file name.
When using the " -u" command line option to load tile sets you have
several options. You can choose a specific tile set (i.e., "mahjongg
-uflags.til") or you can have any tile set chosen at random ("mahjongg
-u*") or you can randomly choose a tile set that matches a specification
of your choice (i.e., "mahjongg -ua*.til").
Though these tiles will obviously look different from the standard set
the same rules of play still apply; you will just have to determine
which tiles correspond to which of the original suits. While playing
you can hit the F8 key to see the full current set of tiles. In some
sets of tiles you'll see that all four tiles in what was originally the
seasons or flowers suits be the same. This effectively makes these
suits work the same as the others, with each tile requiring an exact
match.
See the file "TILEMAKR.DOC" for information on making your own tile sets
using the Tile Maker utility.
ARCHIVING TILE SETS
Tile sets can take up a lot of disk space, especially if you have a
large collection of them. Mah Jongg gives you the option of compressing
them using the archiver of your choice. To do this, you need to put
each tile set file in a separate archive file. Both files should have
the same name except for the extension (for example, if you are using
PKzip you would put the tile set "MAHJONGG.TIL" in the archive file
"MAHJONGG.ZIP").
To tell Mah Jongg to use archived tile sets you either use the " -i"
command line option (i.e., to use "*.ZIP" files you'd start up Mah
Jongg with the command line "mahjongg -i*.zip") or you can use the
setup menu. Once you've done this any tile sets loaded via the command
line options or the setup menu will be selected from the files with the
extension you specified.
You can also use this feature to specify a different directory where
your tile sets are kept. For example, if you are using "*.ZIP" files
and keep them on your C: drive in a subdirectory called "TILES", you
can tell Mah Jongg to use these tile sets with the command line
"mahjongg -ic:\tiles\*.zip". In the setup menu you would use the
archiver type setting and enter "c:\tiles\*.zip". You can also do this
if your tile sets are not archived; just use "*.TIL" as the file
specification.
You can use any archiver you want, as Mah Jongg shells out and runs the
archiver via a batch file called "TILEARCH.BAT". The batch file
included with Mah Jongg knows how to handle the following archive
types: ZIP, LZH, PAK, ARJ. If you wish to use a different archiver you
can simply by selecting it when starting Mah Jongg and by editing the
batch file. If you take a look at "TILEARCH.BAT" you'll find it's
quite straightforward and anyone with experience writing batch files
will have little trouble modifying it. Note that you must have the
archiver program you selected either somewhere on your path or in the
same disk directory as Mah Jongg.
If you are using .ZIP files you also have the option of putting many
tile sets into a single archive file. To access the tiles in a file of
this type specify the full .ZIP file name in either the setup menu
(under item B) or using the " -i" command line option. You can include
a full path if necessary. Once you've done this, selecting the load
tile set function from the setup screen will display a list of all tile
sets within the .ZIP file and you can then choose and load the one you
want.
BOARD LAYOUT
If you're using a mouse to play you don't need to worry about the board
coordinates; you just point and click. Many game commands are also
there as "keys" that can be clicked on. If you don't have a mouse,
read on...
The game board is a grid marked by letters and numbers. You select
tiles by entering a letter for the column and a number for the row.
Order doesn't matter, entering A5 is the same as 5A. The single tile on
the topmost level is H5.
The numbering of the rows is a bit confusing. Row 5 only exists at the
very top level and at the extreme left and right edges. Rows 4 and 6
are actually adjacent to each other.
If after you've selected your first tile you change your mind, just
hit the Enter key instead of your second tile selection. After you've
selected both tiles they will immediately be removed. If you want,
you can have the game ask you to confirm your move first by using the
" -y" command line option or by enabling the Y/N prompts option from
the setup menu.
As an alternative to using the coordinates you can use a "keyboard
mouse". This allows you to use the arrow keys to move a cursor to the
tile you want which is then selected by hitting the Enter key. You
enable the keyboard mouse the same way you would a real mouse, by using
the " -m" command line option or by selecting it in the setup menu.
ALTERNATE BOARD ARRANGEMENTS
The default tile arrangement is a sort of pyramid shape sometimes
called "the dragon". In addition to this traditional shape you can
play using a number of other arrangements. Some arrangements will be
much easier to solve than the default while others will be nearly
impossible. You'll also find that you'll need to modify your playing
stategy to match the arrangement. Board arrangements can be selected
from the setup menu or from the command line using the " -a" option.
On a few arrangements some of the free tiles are not obvious--they may
look blocked when they really aren't. Just remember the definition of
a blocked tile: another tile must block it on the left, right, and
directly above.
COMMANDS
There are commands you can enter in addition to just selecting tile
coordinates. Some are accessed by hitting a single letter followed by
hitting the Enter key; others are accessed by just hitting one of the
function keys:
A starts the same board again.
H will give you help selecting tiles. If you ask for
help at the first tile prompt, you will first be told
if there are any moves left, then you may choose to
see any or all of them by hitting Y or N when asked.
If you ask for help when selecting the 2nd tile it
will show you any playable matches for the first tile
you selected.
N starts a new game using a different board number.
Q will quit the game and return to DOS.
R reloads a saved game; pick the one you want from a list.
S saves your game as MAH#####.SAV, where ##### is the board
number.
U undo the last move. Can be used as many times as you
want until all moves have been undone. (F4 does the
same thing).
Z restore a move that was undone. This is the reverse
of the undo function. You can undo and restore as many
moves as you want. (F6 does the same thing).
F1 will display a summary of commands and other information
and also let you view or print Mah Jongg text files.
F2 will show the tiles you've removed so far.
F3 goes to the setup screen. See SETUP SCREEN section below.
F4 will undo your last move.
F5 shows you your playing statistics.
F6 will undo your last undo (e.g., it will remove the tiles
again).
F7 goes to the tournament setup screen.
F8 displays the current tile set.
F10 shells to DOS. Type 'EXIT' to return to the game.
If you are using a mouse, many of these commands are available as push
buttons along the left side of the screen. Just slide the cursor over
the command you want and click. Hitting the right mouse button is a
short-cut way of asking for help. See the section on using the mouse
below.
In summary, the commands are:
Q: Quit N: New game (different board)
H: Help A: Again (replay same board)
S: Save R: Restore a saved game
F1: Commands F2: Tiles played so far
F3: Setup F4: Undo last move (U also works)
F5: Stats F6: Undo last undo (Z also works)
F10: DOS shell F7: Tournament setup
F8: Displays current tile set
COMMAND LINE OPTIONS
Mah Jongg has a large number of options that can be selected when
starting up the game. To do this, the options must be entered on the
DOS command line along with the command to start Mah Jongg itself.
Options can also be set using the setup screen, or if you have the
registered version you can use the "MAHSETUP.EXE" utility to make
your selections permanent.
By making these options available on the command line you can set up
batch files that will run Mah Jongg in different ways. For example, if
two different people play on the same computer you could have separate
batch files for each person where each one would load a different
statistics file.
The available options are:
-n No title page
-m use Mouse (or keyboard mouse)
-bx play Board x (0 <= x <= 65535)
-b Boards are selected randomly
-tx Time limited game (x=length in minutes, 30 maximum)
-t Timed game, timer goes up starting at 0:00
-cx background Color x (0 <= x <= 15)
-dx mouse cursor color x (0 <= x <= 15)
-fn File n is the statistics file
-f don't keep statistics
-un Use tile set in file n (-u* loads random tile set)
-an use board Arrangement in file n (-a* for random layout)
-y Y/N prompt after selecting tiles
-g report Game over automatically
-w on Win show statistics
-p Peek at remaining tiles when no more moves
-h run in Hercules graphics mode
-e run in full color EGA graphics mode
-l run in Laptop (monochrome EGA) mode
-li run in Laptop mode with inverse video
-x disable fireworks in victory screen
-in tile sets are archived files with extension n
The command line options are done in a standard way but if you're not
familiar with this sort of thing they may be confusing. Here are some
examples.
Command line option examples:
If you want to play a game that will be timed for 10 minutes, the
command line would be:
MAHJONGG -T10
Notice there is no space between the " -T" and the number of minutes
(10). The other commands work the same way. To use a different set of
tiles, stored in the file "FLAGS.TIL", either of these two command
lines would work:
MAHJONGG -UFLAGS.TIL
MAHJONGG -UFLAGS
To use a randomly selected tile set, use a wild card specification
instead of a specific file name, such as:
MAHJONGG -U*
MAHJONGG -UA*.TIL
You can combine commands too, so to play board 12345 with a clock that
counts up from 0:00 the command line would be:
MAHJONGG -T -B12345
Remember, there is also a setup screen that allows you to select any of
the options that are available on the command line. Just hit S from
the title screen to go to setup. You can also access setup at any time
during a game by hitting the F3 key or by clicking the mouse on the
button labelled "setup".
STATISTICS
It seems that a lot of players are interested in game statistics, so
the game now keeps track of some statistics for you automatically. A
file is made that keeps track of all the board numbers you've played,
which ones you've won, your best and worst scores, etc. It also keeps
track of the last board you played so you can play each board in order
if you want. By default, this file is saved in the current directory
under the name "MAHSTATS". You can delete the file to reset your stats.
You can view some of your stats from within the game by hitting the F5
key. The separate utility program "STATGEN.EXE" can be run on your
stats file to give a more complete report. Just type "statgen" to run
it, give it the path and name of your stats file when requested, and a
complete report will be shown on your screen. For more details, see the
section on USING STATGEN.
If you have several people playing on the same PC they can each have
their own statistics file. The statistics file name can be entered
from the setup screen or by using the command line option " -fn"
where n is the name of the file. For example, if Fred and Dick both
use the same PC, Fred might start the game as:
MAHJONGG -FFRED.STT
and Dick might start the game as:
MAHJONGG -F\DICKSDIR\DICK.STT
To disable keeping of statistics, use " -f" with no file name on your
command line or via the setup screen by hitting the Enter key without
entering a name. Please note that statistics are only kept when playing
the default board layout.
TOURNAMENTS
You can play Mah Jongg as a tournament against other players. In a
tournament each person plays a single board under the exact same
conditions (same board number and same time limit, if any, etc.),
allowing their results to be compared and a winner to be determined.
You enter the tournament setup screen either by using the T option from
the title screen or by hitting F7 at any time during a game. The first
player sets up the tournament by selecting the board number (or by just
leaving the one that was randomly chosen) and whether or not the game
will be timed. After the selections are made the first player enters
his name and plays the game. A record is kept of his results and the
results of each additional person who plays the tournament.
If you go to the tournament screen by accident or just to see the
current standings, you can leave the screen without entering the
tournament by hitting the ESC key.
If there is already a tournament started but you want to start a new
one, enter 'N' instead of your name. This will let you set up a new
tournament as described above. Tournament records are kept in a file
called "MAH.TRN" so you can also start a new tournament by deleting
this file.
USING A MOUSE
If you have a mouse driver installed on your computer it will
automatically be detected when the game starts and mouse play will be
selected. If for some reason your mouse is not being automatically
detected you can still select it from the setup screen or by using the
" -m" option on the command line. You can also use the setup screen to
turn off the mouse if you wish.
The game was tested using a Mouse Systems PC Mouse and a Genius GM-6
mouse but any Microsoft-compatible mouse will probably work. When using
a mouse most commands can be issued using the mouse. You must have your
mouse driver installed as a device in your "CONFIG.SYS" file for Mah
Jongg to be able to use the mouse.
The mouse interface is a bit different from what you're probably used
to but it seems to be easy enough to use. Tiles are selected by moving
a colored outline over them and then clicking once. To de-select the
first tile, just click on it a second time. After selecting the second
tile, if you've selected a valid match, both tiles will be removed.
If you wish, you can have the game ask you to confirm your move before
the tiles are removed from the board. This option can be selected from
the setup menu or by using the command line option " -y". With this
option set, after selecting both tiles a line with the options "Y/N"
(yes/no) comes up. If you just click without moving the mouse you'll
select yes and the tiles will be removed. Slide the mouse left and
right to change your selection.
Many commands available during the game (help, new, undo, file, setup,
quit) are available as "keys" along the left side of the screen. Move
the outline over the command you want and click once.
"Help" and "Quit" require a yes or no confirmation so you won't do them
by accident. Slide the mouse left and right to select yes or no and
then click.
There are two variations on the help function, depending on whether you
click the left mouse button or right mouse button on the help "key".
If you click the left button, you get the normal help command which
first asks if you want to see matching tiles (if there are no more
matches it will tell you that instead) and then prompts for a yes or no
to see each additional matching pair of tiles. If you ask for help
after you've already selected the first tile a search for matching free
tiles takes place. If a match is found, it is highlighted and all you
need to do is confirm to remove the pair of tiles. If no match is
found it puts you back to select the first tile again.
If you right-click while the help "key" is outlined, you'll be shown
the tiles that you've removed so far. This is the same function
available by hitting the F2 key.
There is also a short-cut for mouse users to invoke help. Just hit the
right mouse button while not pointing to one of the function "keys" to
get help in selecting either tile.
"New" lets you end the current game and either replay the same board or
go on to a new board. You will be prompted to select either "next" or
"again" to either go on to a new board number or to play the same board
again.
"Undo" replaces the last two tiles you removed. You can undo as many
times as you want until all 144 tiles are back on the board. Undo does
not ask for any confirmation. Undo actually allows you to replay your
entire game both forward and backward. Clicking the left mouse button
restores tiles that were removed and clicking the right mouse button
takes the tiles back off again.
"File" lets you either save the game at its current point or load a
previously saved game. You are prompted to choose between "load" and
"save". If you pick save you will then be asked to confirm if you
really want to do it. The game will be saved to a file called
"MAH#####.SAV" where ##### is the board number.
If you select load a list of saved games will be displayed. Use the
arrow keys or the mouse to select the game you want, then left click or
hit the Enter key to load it. Hitting the ESC key or clicking the
right mouse button will abort the load.
Saved game files have no special attributes so when you're done with
them you can delete them from the DOS command line or with any shell
program, etc. that you're familiar with. You can also rename them and
Mah Jongg will still recognize them as long as the file extension is
".SAV".
"Setup" brings up the setup screen, which is fully described below.
Any error messages that appear during the game (i.e. "Invalid
Selection") normally stay visible for a few seconds before allowing
play to continue. To immediately remove a message and resume play just
click the mouse or hit a key.
SETUP SCREEN
The setup screen lets you control many game options. Note that these
options can also be set from the command line when you start up the
game. You can access the setup screen by hitting the S key when on
the title screen, or at any time during the game by hitting the F3 key
or clicking the mouse on the setup button.
In the setup screen you can select the feature you want changed by
using its letter, by moving the selection pointer with the arrow keys
and hitting the Enter key to select, or by using the mouse and left
clicking to select. You have the same options when choosing colors for
the cursor or background.
You can exit the setup screen by selecting option Q ("Done"), by
hitting the ESC key or by right clicking the mouse.
The following items can be controlled from the setup screen:
A) Tile set: Select this option to load a different set of tiles.
You'll be shown a list of all tile set files available in the current
directory, and you can use the arrow keys or mouse to select the one
you want. Hit the Enter key or left click when pointing to the tile
set you want. Hit the ESC key or right click to abort.
If "B) Archive Type" is used, the displayed list will be from the
disk directory specified and of the file type specified. If a single
.ZIP file with many tile sets is used the contents of that .ZIP file
will be displayed.
B) Archive Type: Large collections of tile sets can take up a lot of
disk space so Mah Jongg gives you the option of storing them as
archived files instead of as .TIL files. Normally this option will
be set to "<none>" but if you want to archive tile sets you must set
it to the extension used on files created by the archiver you wish to
use. You can also include the drive and path to where the tile set
files are kept. See the section ARCHIVING TILE SETS for complete
details.
C) Layout Arrangement: In addition to the default arrangement of tiles
you can select any of a number of different arrangements using this
option. Different arrangements are stored on disk as files ending in
the letters ".BRD". You'll be shown a list of all arrangements
available which you can pick in the same way you pick tile sets.
D) Statistics File: Use this option to select the name of the file you
want used for your playing statistics. The default file name is
"MAHSTATS" and the file is always in the current disk directory. When
you select this option you'll have to type in the name of the file you
want. If you want no statistics kept just hit the Enter key instead of
entering a name. Note that statistics are kept only for the default
layout arrangement.
E) Board number: Initially this will show the board number you are
currently playing. If you wish to play a different board select this
option and then type the number you want.
F) Next board: Normally when you request a new game after finishing the
current one the next board number will be the current number plus 1.
Some people prefer board numbers to be selected randomly instead of
sequentially and this option lets you choose this if you wish.
G) Timed game: By default you're given all the time you want to play
each board. If you wish the game can be timed. You have a choice of a
count up timer that will start at zero and count up as long as you play
a board, or you can have a count down timer where you give it a time in
minutes to count down from. Both kinds of timer are limited to 30
minutes and in either case you can continue playing even if the timer
reaches its limit.
H) Background color: This option lets you change the background color
of the playing board if you don't like the normal dark blue. If you
started up the game using the " -l" or " -h" command line options you
cannot select colors but instead have the choice of normal or inverted
images for the entire playing board.
I) Mouse cursor color: The mouse cursor may not be easily seen because
of your monitor or because of the tile set you're using. This option
lets you change the color to one you can see more easily.
J) Mouse: This function enables or disables the mouse. If you have no
mouse present it enables the "keyboard mouse" which enables you to use
the arrow keys to move the cursor instead of playing using coordinates.
K) Y/N prompts: Normally once you have selected both tiles (and
assuming your selection was a valid one) the tiles will be immediately
removed from the board. If you prefer you can be prompted before the
tiles are removed.
When playing using the keyboard this option also controls whether or
not you have to hit the Enter key after entering the tile coordinates.
With the option set to yes, you will have to hit Enter after the
coordinates, otherwise as soon as you enter two characters the tile
will be selected.
L) Show stats after win: You can view your current statistics at any
point in the game by hitting the F5 key. This option will cause the
same statistics screen to be displayed automatically whenever you win a
game.
M) Report end of game: Use this option to choose whether or not you
want to be automatically notified when there are no moves left.
N) Peek at end: When this option is set you can peek under (remove)
any tiles that are left at the end of the game. "Peek Mode" will go
on automatically when there are no more moves, either reported
automatically if you have the report end of game option turned on or
if you manually use the help function to check. To peek under tiles
you select them as you normally would, by moving the cursor over the
tile and clicking.
O) Show fireworks: When you win a game a display of fireworks goes off.
If you want to skip this display set this option to no.
P) Restore defaults: Use this function to undo any setup changes you
made and go back to the normal settings.
USING STATGEN
Mah Jongg has come with a utility called "STATGEN.EXE". This program
allows you to analyze and modify the statistics file that is kept
each time you play the game.
To run the statistics generator, just type "statgen" on a line by
itself. You'll be prompted for the filename of your statistics file
and you'll be asked if you want to edit (enter a letter E) or just
display (enter a D) your current statistics.
If you select display, you'll be shown your total games played, average
score, number won and worst score. Then a list of all board numbers
won and another list of additional boards played will be shown.
If you select edit you can change the list of boards played and won to
include boards you played before v3.2. Just select edit and you'll
first be prompted for the boards you've won. Enter one board number
per line and finally enter a -1 when you're done. Then you'll enter
the list of additional boards played but not won in the same way.
Again you enter a -1 when done. After you're done editing statgen will
show you your current stats so you can confirm that you've entered
everything correctly.
You can also enter statgen's parameters from the command line. The
first parameter is the statistics file name and the second is either -e
(to edit) or -d (to display). If you only enter one parameter display
is assumed. For example, to edit the statistics file "stats.me" the
command line would be
statgen stats.me -e
There is also a "batch mode" available for those of you who have kept
your records in a database. You'll need to transfer your games played
and games won list into a straight ASCII text file with one board
number per line and a -1 after the end of the won board list and
another -1 at the end of the file. For example, if you've played
boards 100, 101 and 102 and played and won boards 200 and 201 your file
would look like this:
200
201
-1
100
101
102
-1
Save this file under whatever name you choose. For this example we'll
say it was saved with the filename "TEMP". Then, to read these board
numbers into your statistics, run statgen as follows:
statgen mahstats -b < temp
This assumes that "statgen.exe" is in your current directory, your
stats file is called "MAHSTATS" and it also is in the current
directory and your list of boards is in the file "TEMP". After temp
has been read in, your new stats will be displayed to verify that
everything worked. Suggestion: before running in batch mode, make a
backup copy of your stats file in case something goes wrong.
TECHNICAL NOTES
Many people write asking about how certain aspects of Mah Jongg work.
This section is intended to cover the most asked questions.
"How are the different boards created?"
There are 65,536 different board layouts available. The arrangements
are random or at least as random as possible. The game starts with a
scrambled pile containing all 144 tiles (an array for you programmer
types). Then, it goes through and takes the tiles one at a time at
random from the pile and places them on the board.
"OK, if the boards are random how is it that board #1 is always the
same?"
Computer random number generators don't generate truly random numbers.
They actually generate a specific series of numbers that are
essentially distributed randomly. For most purposes the distinction
doesn't make a difference. Random number generators are generally
started up by giving them a "seed". The seed itself needs to be
somewhat random since the same seed will always generate the same
series of numbers.
Mah Jongg takes advantage of this feature. The board number is
actually the random number generator seed and so each seed always
generates the same series of numbers and thus the same board layout.
The Turbo C language allows seeds to be values from 0 to 65535 which is
why Mah Jongg has 65,536 possible boards.
"Can all boards be won?"
Definitely not. But then that's true of just about any type of
solitaire game. After playing enough boards you're certain to run into
situations where three of the same tile are stacked on top of each
other or similar things that result in a board that cannot be beaten.
It appears, though, that a large percentage of boards can be beaten. A
number of people have put great effort into solving series of
consecutive boards, playing the same board over and over until beaten.
Their results indicate that at least 50-75% of all boards can be won.
"Can I get a CGA version?"
CGA? Blech. Would you really want to play Mah Jongg on a screen with
only 1/4th the pixels and only four ugly colors? It just wouldn't be
the same...
Actually, several people have attempted to do it. The results are
about what you'd expect though.
"OK, how about a VGA version?"
Sure, this could be done but would it really be worth it? The
appearance of the board would not be significantly different from the
EGA version, since VGA is still limited to 16 colors. The vertical
resolution does improve from 350 to 480 pixels but that would be about
the only difference, and from what I've seen comparing other programs
it wouldn't be all that noticeable.
Now SuperVGA is a different story. The problem here is that SuperVGA is
not a standard (IBM invented VGA but does not support SuperVGA). But
what mode to support? 640x480? 800x600? Having 256 colors would make
some really beautiful tile sets possible, but until a real standard is
available it's just too difficult to try to support all the different
video boards. It would likely also mean that the hundreds of existing
tile sets could not be used in the new video mode.
"What language is Mah Jongg written in?"
Mah Jongg is written in Turbo C. I originally used v1.0 but am now
using v2.0. Since Turbo C v1.0 did not have the graphics library that
later versions include, Mah Jongg is done entirely with my own graphics
routines. Tile Maker is written in Turbo Pascal v5.5.
"Can I get the source code?"
Sorry, the source code is not available.
REVISION HISTORY
NEW IN 4.1:
Multiple sets of tiles can now be kept in a single archive file.
NEW IN 4.0:
Tile sets can be kept in archived files.
Peek function: lets you view any remaining tiles at the end of a game.
End of game (no more moves) can now be detected automatically if
desired.
Next board can now be either sequential or random.
Keyboard players can choose to not require hitting the Enter key after
entering coordinates.
Statistics can now be shown automatically when you win a game if
desired.
Text files (i.e., documentation, order forms, etc.) can now be viewed
or printed from within the game.
Mouse control added to setup menu, file selection lists, etc.
Different board arrangements in addition to the traditional "dragon"
layout are now available.
Command line option -u changed to allow either a specific tile set to
be loaded or a randomly selected tile set.
Bug fix to statgen related to timed games.
The confirm move option now defaults to off (don't require confirmation
of moves).
The F8-tile set view screen now includes the tile artist's name.
Extensive changes to Tile Maker.
NEW IN 3.51:
The changes made to board number handling in v3.5 broke the -b command
line option; this is now fixed
Previous versions only allowed 200 option tile set files in a
directory; this limit has now been increased to 400
NEW IN 3.5:
Mouse users can now access the "see tiles played" function (which is
still available by hitting the F2 key) by right clicking on the help
"key" on the left side of the screen
Time function (available in setup screen or from command line option
" -t") displays a timer that counts up from 0:00; old count down timer
option is still available as before; stats kept of fastest won game if
either timer function is used
Stats keeps track of last board played so that each time you start up
the game you'll automatically get the next consecutive board number
A small number of people seem to have problems with the fireworks
display after winning a board; a command line option -x now allows the
fireworks to be disabled
Tile Maker now displays a blank tile face when doing a clear
Tile Maker now allows loading from PCX pictures
Tile Maker has new color change tool
Tile Maker now updates tile set viewed by "re-read" and "view last"
functions when a tile is saved to disk
Tile Maker undo function enhanced
NEW IN 3.4:
Stats file "MAHSTATS" now defaults to current directory
Tile files can be selected from a list instead of by name in setup
screen
Hitting F8 displays the currently loaded tile set
Saved games are now selected from a list, as games are now saved with
the filename MAH#####.SAV where ##### is the board number
Keyboard 'mouse' allows keyboard users to play using arrow keys instead
of entering coordinates
NEW IN 3.3:
Alternate tile sets can be used
Y/N prompts can be disabled
New "victory" screen
NEW IN 3.2:
"Boss Mode" has been replaced by a true shell to DOS
Records kept of boards played and won:
If the current board has been played before, an asterisk
will appear next to the board number; if the board has
been won, the word "WON" will appear next to the board
number
Separate statistics generator program displays your stats plus list of
boards played and won
Improved accuracy of average score statistic
Automatically enables mouse play if mouse driver detected
Exit screen written directly to memory instead of using ANSI
NEW IN 3.1:
Stats no longer overflow
Stats now correctly update when you win a game
Tournament setup screen now available during game
Automatically detects EGA and Hercules cards
Monochrome EGA selectable for LCD laptop computers
Command line parameters can be made permanent using setup program
(available to registered users only)
NEW IN 3.0:
Runs in Hercules graphics mode
Game statistics kept for current game and for all games played
Undo command (both forward and backward)
Setup screen available during game
Tile corners now display properly
NEW IN 2.7:
Fixed bug in tournament mode (stats weren't being saved)
A list of all pairs of tiles played so far is available by hitting the
F2 key
NEW IN 2.6:
Mouse cursor color is now selectable from command line or setup screen
When playing a tournament game your score was not always saved if you
completed the board; this is now fixed
NEW IN 2.4:
Help screen -- hit F1 to get a list of commands, options, and some
basic playing tips
"Boss Mode" -- hit F10 to hide the game and display a harmless looking
disk directory
New tournaments can be started from within the tournament setup screen
After winning a game, answering "Y" to play again gives you a different
board instead of the same one over again
Requesting to quit when selecting the second tile now asks for a
confirmation
NEW IN 2.3:
Columns entered as letters instead of numbers; rows and columns can be
entered in any order as a result
Several tiles redrawn
NEW IN 2.2:
ATI EGAWonder card problem work around added
Mouse cursor display sped up (possible fix to NEC EGA card problem of
not showing mouse cursor)
NEW IN 2.1:
Help on 2nd tile selection (find match to 1st tile if any)
Help available with right mouse button as a short-cut
Error messages can be cancelled by clicking the mouse
Confirmation required for mouse action "keys" to prevent accidents
NEW IN 2.0:
Mouse support
Setup screen, allows access to all game options more easily than
through command line options
Tournament play
Selectable background color
New commands during play
A (play same board Again)
N (play New board)
More command line options
-cx (background Color)
-r (Restart saved game)
-m (use Mouse)
More authentic tile appearance
Faster tile displaying
WINNING
Not all boards are win-able but during testing a number of boards
that are beatable were found. In addition, many people who have
written to register their copy of Mah Jongg have included lists of
boards they have completed. If you want to play a board that
definitely can be won, try one of the following. A few players have
done detailed studies and have found that as many as 90% of all
boards can be won so this list is far from all inclusive.
1, 2, 8, 14, 21, 23, 43, 56, 148, 290, 302, 307, 329, 364, 370, 386,
421, 433, 459, 560, 627, 634, 656, 695, 735, 743, 795, 800, 819, 827,
839, 858, 876, 888, 890, 905, 936, 952, 985, 1034, 1037, 1066, 1101,
1104, 1132, 1138, 1145, 1149, 1154, 1207, 1241, 1244, 1296, 1313, 1346,
1365, 1390, 1392, 1428, 1430, 1490, 1543, 3459, 3989, 4113, 4236, 4243,
4344, 4540, 5119, 5336, 6108, 6843, 7332, 7971, 8694, 8922, 9619,
10796, 12224, 12909, 13692, 13932, 15037, 15318, 15441, 15625, 15784,
16213, 16435, 16496, 16965, 17604, 19619, 20009, 20926, 21015, 21399,
23986, 24654, 24942, 25139, 26208, 27869, 28483, 29514, 29885, 30000,
30004, 30007, 30008, 32141, 32381, 32812, 33212, 33357, 36607, 36785,
36792, 36836, 37696, 38110, 38313, 38382, 38449, 40060, 40111, 40284,
40640, 41121, 41619, 42246, 43055, 43421, 43880, 43924, 44213, 45000,
45355, 45466, 47046, 47615, 47779, 47788, 47924, 48094, 48165, 48278,
49070, 49522, 50054, 50333, 50408, 50542, 52079, 52158, 52916, 53414,
53751, 54176, 54438, 54491, 54586, 55082, 55309, 55598, 56185, 56447,
56809, 57572, 58094, 59498, 61319, 62500, 63202, 63331, 63866, 64557,
64856, 65123.
Enjoy!
*****************************************************************************
* INCLUDED FILES *
*****************************************************************************
The following files are included in Mah Jongg solitaire:
MAHJONGG.EXE Mah Jongg program
MAHJONGG.DOC This file
MAHJONGG.HLP Help file used by the game
MAHJONGG.TXT A brief description of Mah Jongg
MAHJONGG.DAT Data file, used internally
ORDERFRM.TXT Ready to print registration form
UKORDER.TXT Registration form for U.K. residents
SHAREWRE.TXT Information on Shareware
VENDOR.TXT Information for shareware vendors/BBS sysops
STATGEN.EXE Statistics generator program
TILEMAKR.EXE Tile set editing utility
TILEMAKR.DOC Complete Tile Maker instructions
TILEMAKR.HLP Help file used by Tile Maker
TEXTVIEW.EXE Utility for viewing text files
MAHJONGG.TIL Standard tile set
FLAGS.TIL Flags of the world tile set
FLAGS.TXT Text file describing FLAGS.TIL
TILEARCH.BAT Sample batch file for archived tile sets
*.BRD Different board layouts
You are free to pass this program along to friends, give it to user
groups, upload to BBSes, etc. with the understanding that anyone who
continues to use the game is required to register it. All these files
MUST be included when distributing this program. If you archive the
program for distribution through BBS's, please use the name
MAHJNG41.ZIP (or .LZH, .PAK, etc. as appropriate).
*****************************************************************************
* REGISTRATION *
*****************************************************************************
Please remember that Mah Jongg is not free software. As with all
Shareware you are expected to purchase it after you've given it a
reasonable trial.
The registration price for Mah Jongg is $15 (#12.95 U.K.), for which
you'll receive by return mail:
- a copy of the latest version with the shareware reminders removed
- a setup utility that lets you make your playing options permanent
- several additional tile sets
- more different board layouts
- and possibly another Shareware game to try out (disk space allowing)
Collections of tile sets created by various Mah Jongg players are also
available for $5 each. Each disk includes ten or more tile sets.
A "deluxe" version of Mah Jongg is also available. This includes a
storage case, printed manual, quick reference card, plus the registered
version of the game. This version is available for $22. Note that the
actual software is the same in both versions.
Please include $2 for shipping/handling along with the payment for
whatever item(s) you order; if ordering deluxe versions please include
$4. Outside North America please include $4 for shipping/handling on
all orders. Please note that all prices are U.S. dollars.
If you live in the U.K. you can register through Nildram Software.
Please print the file UKORDER.TXT for an order form all ready to go or
just send #12.95 to:
Nildram Software
82 Akeman Street
Tring
Herts HP23 6AF
*****************************************************************************
* DISCLAIMER OF WARRANTY *
*****************************************************************************
This software is sold "as is", without any warranty as to performance
or any other warranties whether expressed or implied. Because of the
many hardware and software environments into which this program may be
used, no warranty of fitness for a particular purpose is offered. The
user must assume the entire risk of using the program. Any liability
of the seller will be limited exclusively to product replacement or the
refund of the registration fee.
*****************************************************************************
* ASSOCIATION OF SHAREWARE PROFESSIONALS *
*****************************************************************************
This software is produced by Nels Anderson who is a member of the
Association of Shareware Professionals (ASP). ASP wants to make sure
that the shareware principle works for you. If you are unable to
resolve a shareware-related problem with an ASP member by contacting
the member directly, ASP may be able to help.
The ASP Ombudsman can help you resolve a dispute or problem with an ASP
member, but does not provide technical support for members' products.
Please write to the ASP Ombudsman at 545 Grover Road, Muskegon, MI
49442, USA or send a CompuServe message via email to ASP Ombudsman
70007,3536.
_______
____|__ | (R)
--| | |-------------------
| ____|__ | Association of
| | |_| Shareware
|__| o | Professionals
-----| | |---------------------
|___|___| MEMBER
*****************************************************************************
* FINDING MAH JONGG *
*****************************************************************************
The best place to find Mah Jongg updates, tile sets, etc. is on
Xevious, the official support board. In addition, I will upload updates
as available to the following BBSes:
Channel 1 (Cambridge, MA): 617-354-8873
Software Creations (Clinton, MA): 508-365-9669
Sound Advice (Gladstone, MO): 816-436-4516
CompuServe GAMERS forum
Xevious (Framingham, MA): 508-875-3618
*****************************************************************************
* AVAILABLE SOFTWARE *
*****************************************************************************
Other software which I've either written or contributed to:
TMATCH: Tile Match is another solitaire game that uses the same
colorful tile sets originally created for Mah Jongg.
It's based on concentration solitaire or "memory" but
adds a wide variety of features. Play it solitaire,
against the computer or with up to four players.
MAHJONGG: Solitaire game played with Chinese tiles. Supports
EGA and Hercules graphics; mouse optional. See reviews
in December 1988 "PCWorld" and April 1989 "Compute!".
TILESETS: Several collections of tile sets created by various
Mah Jongg fans are available. Each collection includes
at least ten tile sets. Requires Mah Jongg v3.3 or later
or any version of Tile Match.
SHOOT: "Shooting Gallery" tests your aim and reflexes in a
number of different rounds of shooting. Uses MCGA/VGA
graphics mode for 256 colors and and also requires
a mouse. See review in "PC Magazine" vol. 9 #20.
EGATREK: Space strategy battle game, using full EGA graphics,
based on the classic minicomputer game. Winner of
Public Brand Software's 1988 software contest. Chosen
as top game of its type by "Shareware Magazine",
July/August 1990.
SUPERFLY: An action game in which your house has been invaded by
a variety of bugs which you must swat while searching
for the "Super Fly". Includes 20 different rounds, 3
skill levels. Supports hi-res EGA and VGA. See review
in "PC Magazine" (10/15/91).
CIPHER: A crypto-quotes type word game that runs in full color
VGA or EGA graphics mode. Can be played with a mouse
or keyboard. Also supports text modes.
CIPHWN: Cipher for Windows. All the features of regular
CIPHER but runs under the Microsoft Windows 3.x
environment.
BASSTOUR: (Written by Dick Olsen). Game that simulates a fishing
tournament, including rod and lure selection. Runs in
EGA/CGA/MCGA/Hercules graphics modes.
BASSMAP: Companion program for BassTour which allows lakes to be
created or modified. EGA and CGA versions included.
- - - - -
Mah Jongg is copyright (c) 1987-1993 by Nels Anderson. All rights reserved.